/*
 * OPIAM Suite
 *
 * Distributable under LGPL license.
 * See terms of license at gnu.org.
 */

package opiam.admin.faare.config.javabeans;

import java.util.ArrayList;
import java.util.List;

/**
 * Class corresponding to the "quotes" element of the exports_conf.xml file.
 */
public class JBQuotes implements java.io.Serializable
{
    /** Quoter character. */
    private String value = null;

    /** Type. */
    private String type = null;

    /** Special characters. */
    private List spechars = new ArrayList();

    /** Value "special" for the type. */
    public static final String SPECIAL_TYPE = "special";

    /**
     * Gets the value.
     *
     * @return The value.
     */
    public String getValue()
    {
        return value;
    }

    /**
     * Sets the value.
     *
     * @param aval  The value to set.
     */
    public void setValue(String aval)
    {
        this.value = aval;
    }

    /**
     * Gets the type.
     *
     * @return The type.
     */
    public String getType()
    {
        return type;
    }

    /**
     * Sets the type.
     *
     * @param atype  The type to set.
     */
    public void setType(String atype)
    {
        this.type = atype;
    }

    /**
     * Adds a special character to the list.
     *
     * @param achar  The specail caharacter to add.
     */
    public void addSpechars(JBValueElement achar)
    {
        spechars.add(achar);
    }

    /**
     * Gets the special characters list.
     *
     * @return The list of special characters.
     */
    public List getSpechars()
    {
        return spechars;
    }

    /**
     * Gets the String representation of the object.
     *
     * @return The String representation.
     */
    @Override
	public String toString()
    {
        StringBuffer buf = new StringBuffer();

        buf.append("value = ");
        buf.append(value);
        buf.append(System.getProperty("line.separator"));
        buf.append("type = ");
        buf.append(type);
        buf.append(System.getProperty("line.separator"));

        for (int i = 0; i < spechars.size(); i++)
        {
            buf.append(spechars.get(i));
            buf.append(System.getProperty("line.separator"));
        }

        return buf.toString();

    }


}
